Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Redundant binary representation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Redundant_binary_representation"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Redundant_binary_representation rootpage-Redundant_binary_representation skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Redundant binary representation</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p>A <b>redundant binary representation (RBR)</b> is a <a href="Numeral_system" title="Numeral system">numeral system</a> that uses more bits than needed to represent a single binary <a href="Numerical_digit" title="Numerical digit">digit</a> so that most numbers have several representations. An RBR is unlike usual <a href="Binary_numeral_system" class="mw-redirect" title="Binary numeral system">binary numeral systems</a>, including <a href="Two's_complement" title="Two's complement">two's complement</a>, which use a single bit for each digit. Many of an RBR's properties differ from those of regular binary representation systems. Most importantly, an RBR allows addition without using a typical carry.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> When compared to non-redundant representation, an RBR makes <a href="Bitwise_operation" title="Bitwise operation">bitwise logical operation</a> slower, but <a href="Arithmetic_operation" class="mw-redirect" title="Arithmetic operation">arithmetic operations</a> are faster when a greater bit width is used.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Usually, each digit has its own sign that is not necessarily the same as the sign of the number represented. When digits have signs, that RBR is also a <a href="Signed-digit_representation" title="Signed-digit representation">signed-digit representation</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Conversion_from_RBR">Conversion from RBR</h2></div>
<p>An RBR is a <a href="Positional_notation" title="Positional notation">place-value notation system</a>. In an RBR, <a href="Numerical_digit" title="Numerical digit">digits</a> are <i>pairs</i> of bits, that is, for every place, an RBR uses a pair of bits. The value represented by a redundant digit can be found using a translation table. This table indicates the mathematical value of each possible pair of bits.
</p><p>As in conventional binary representation, the <a href="Integer" title="Integer">integer</a> value of a given representation is a weighted sum of the values of the digits. The weight starts at 1 for the rightmost position and goes up by a factor of 2 for each next position. Usually, an RBR allows negative values. There is no single sign bit that tells if a redundantly represented number is positive or negative. Most integers have several possible representations in an RBR.
</p><p>Often one of the several possible representations of an integer is chosen as the "canonical" form, so each integer has only one possible "canonical" representation; <a href="Non-adjacent_form" title="Non-adjacent form">non-adjacent form</a> and two's complement are popular choices for that canonical form.
</p><p>An <a href="Integer" title="Integer">integer</a> value can be converted back from an RBR using the following formula, where <i>n</i> is the number of digits and <i>d<sub>k</sub></i> is the interpreted value of the <i>k</i>-th digit, where <i>k</i> starts at 0 at the rightmost position:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum _{k=0}^{n-1}d_{k}2^{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<msub>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sum _{k=0}^{n-1}d_{k}2^{k}}</annotation>
</semantics>
</math></span><img src="./415190771f27b42174dd494a356d30cded85fe73.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:8.291ex; height:7.509ex;" alt="{\displaystyle \sum _{k=0}^{n-1}d_{k}2^{k}}" loading="lazy"></span></dd></dl>
<p>The conversion from an RBR to <i>n</i>-bit two's complement can be done in O(log(<i>n</i>)) time using a prefix adder.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Example_of_redundant_binary_representation">Example of redundant binary representation</h2></div>
<table class="wikitable" align="right" style="margin-left: 3em; text-align:center;">
<caption>Example of translation table for a digit
</caption>
<tbody><tr>
<th>Digit</th>
<th>Interpreted value
</th></tr>
<tr>
<td>00</td>
<td>−1
</td></tr>
<tr>
<td>01</td>
<td>&nbsp;0
</td></tr>
<tr>
<td>10</td>
<td>&nbsp;0
</td></tr>
<tr>
<td>11</td>
<td>&nbsp;1
</td></tr></tbody></table>
<p>Not all redundant representations have the same properties. For example, using the translation table on the right, the number 1 can be represented in this RBR in many ways: "01·01·01·11" (0+0+0+1), "01·01·10·11" (0+0+0+1), "01·01·11·00" (0+0+2−1), or "11·00·00·00" (8−4−2−1). Also, for this translation table, flipping all bits (<a href="NOT_gate" class="mw-redirect" title="NOT gate">NOT gate</a>) corresponds to finding the <a href="Additive_inverse" title="Additive inverse">additive inverse</a> (<a href="Multiplication" title="Multiplication">multiplication</a> by <a href="%E2%88%921" title="−1">−1</a>) of the integer represented.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>In this case: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d_{k}\in \{-1,0,1\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∈<!-- ∈ --></mo>
<mo fence="false" stretchy="false">{</mo>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo>,</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo fence="false" stretchy="false">}</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d_{k}\in \{-1,0,1\}}</annotation>
</semantics>
</math></span><img src="./ce57bd4b6aa379b815eaa0a565fd2be6da59cab8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.827ex; height:2.843ex;" alt="{\displaystyle d_{k}\in \{-1,0,1\}}" loading="lazy"></span>
</p>
<div class="mw-heading mw-heading2"><h2 id="Arithmetic_operations">Arithmetic operations</h2></div>
<p>Redundant representations are commonly used inside high-speed <a href="Arithmetic_logic_unit" title="Arithmetic logic unit">arithmetic logic units</a>.
</p><p>In particular, a <a href="Carry-save_adder" title="Carry-save adder">carry-save adder</a> uses a redundant representation.
</p>
<div class="mw-heading mw-heading3"><h3 id="Addition">Addition</h3></div>

<p>The addition operation in all RBRs is carry-free, which means that the carry does not have to propagate through the full width of the addition unit. In effect, the addition in all RBRs is a constant-time operation. The addition will always take the same amount of time independently of the bit-width of the <a href="Operand" title="Operand">operands</a>. This does not imply that the addition is always faster in an RBR than its <a href="Two's_complement" title="Two's complement">two's complement</a> equivalent, but that the addition will eventually be faster in an RBR with increasing bit width because the two's complement addition unit's delay is proportional to log(<i>n</i>) (where <i>n</i> is the bit width).<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Addition in an RBR takes a constant time because each digit of the result can be calculated independently of one another, implying that each digit of the result can be calculated in parallel.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Subtraction">Subtraction</h3></div>
<p>Subtraction is the same as the addition except that the additive inverse of the second operand needs to be computed first. For common representations, this can be done on a digit-by-digit basis.
</p>
<div class="mw-heading mw-heading3"><h3 id="Multiplication">Multiplication</h3></div>
<p>Many <a href="Hardware_multiplier" class="mw-redirect" title="Hardware multiplier">hardware multipliers</a> internally use <a href="Booth_encoding" class="mw-redirect" title="Booth encoding">Booth encoding</a>, a redundant binary representation.
</p>
<div class="mw-heading mw-heading2"><h2 id="Logical_operations">Logical operations</h2></div>
<p>Bitwise logical operations, such as <a href="AND_gate" title="AND gate">AND</a>, <a href="Logical_disjunction" title="Logical disjunction">OR</a> and <a href="XOR" class="mw-redirect" title="XOR">XOR</a>, are not possible in redundant representations. While it is possible to do <a href="Bitwise_operation" title="Bitwise operation">bitwise operations</a> directly on the underlying bits inside an RBR, it is not clear that this is a meaningful operation; there are many ways to represent a value in an RBR, and the value of the result would depend on the representation used.
</p><p>To get the expected results, it is necessary to convert the two operands first to non-redundant representations. Consequently, logical operations are slower in an RBR. More precisely, they take a time proportional to log(<i>n</i>) (where <i>n</i> is the number of digits) compared to constant time in <a href="Two's_complement" title="Two's complement">two's complement</a>.
</p><p>It is, however, possible to <i>partially</i> convert only the least-significant portion of a redundantly represented number to non-redundant form. This allows operations, such as masking off the low <i>k</i> bits, to be done in log(<i>k</i>) time.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFPhatakKoren1994" class="citation journal cs1">Phatak, Dhananjay S.; Koren, Israel (August 1994). <a rel="nofollow" class="external text" href="http://euler.ecs.umass.edu/research/PhKo-IEEETC-1994.pdf">"Hybrid Signed-Digit Number Systems: A Unified Framework for Redundant Number Representations with Bounded Carry Propagation Chains"</a> <span class="cs1-format">(PDF)</span>. <i>IEEE Transactions on Computers</i>. <b>43</b> (8): <span class="nowrap">880–</span>891. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.352.6407">10.1.1.352.6407</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F12.295850">10.1109/12.295850</a>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFLessard2008" class="citation web cs1">Lessard, Louis Philippe (2008). <a rel="nofollow" class="external text" href="http://www.louislessard.com/rbin/">"Fast Arithmetic on FPGA Using Redundant Binary Apparatus"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-09-12</span></span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFVeeramachaneniKrishnaAvinashReddy_P.2007" class="citation conference cs1">Veeramachaneni, Sreehari; Krishna, M. Kirthi; Avinash, Lingamneni; Reddy P., Sreekanth; Srinivas, M.B. (May 2007). <a rel="nofollow" class="external text" href="http://euler.ecs.umass.edu/research/PhKo-IEEETC-1994.pdf"><i>Novel High-Speed Redundant Binary to Binary converter using Prefix Networks</i></a> <span class="cs1-format">(PDF)</span>. IEEE International Symposium on Circuits and Systems (ISCAS 2007). New Orleans. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FISCAS.2007.378170">10.1109/ISCAS.2007.378170</a>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFLapointeHuynhFortier1993" class="citation journal cs1">Lapointe, Marcel; Huynh, Huu Tue; Fortier, Paul (April 1993). "Systematic Design of Pipelined Recursive Filters". <i>IEEE Transactions on Computers</i>. <b>42</b> (4): <span class="nowrap">413–</span>426. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F12.214688">10.1109/12.214688</a>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFYu-Ting_PaiYu-Kumg_Chen2004" class="citation conference cs1">Yu-Ting Pai; Yu-Kumg Chen (January 2004). <a rel="nofollow" class="external text" href="http://galia.fc.uaslp.mx/~rmariela/digital/FastCLA.pdf"><i>The fastest carry lookahead adder</i></a> <span class="cs1-format">(PDF)</span>. Second IEEE International Workshop on Electronic Design, Test and Applications (DELTA '04). Perth. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FDELTA.2004.10071">10.1109/DELTA.2004.10071</a>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFJoseRadhakrishnan2006" class="citation conference cs1">Jose, Bijoy; Radhakrishnan, Damu (December 2006). <i>Delay Optimized Redundant Binary Adders</i>. 13th IEEE International Conference on Electronics, Circuits and Systems, 2006. (ICECS '06). Nice. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FICECS.2006.379838">10.1109/ICECS.2006.379838</a>.</cite></span>
</li>
</ol></div></div>
<p><br>
</p>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Processor_technologies439" style="padding:3px"><table class="nowraplinks mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Processor_technologies439" style="font-size:114%;margin:0 4em"><a href="Processor_(computing)" title="Processor (computing)">Processor technologies</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Model_of_computation" title="Model of computation">Models</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Abstract_machine" title="Abstract machine">Abstract machine</a></li>
<li><a href="Stored-program_computer" title="Stored-program computer">Stored-program computer</a></li>
<li><a href="Finite-state_machine" title="Finite-state machine">Finite-state machine</a>
<ul><li><a href="Finite-state_machine_with_datapath" class="mw-redirect" title="Finite-state machine with datapath">with datapath</a></li>
<li><a href="Hierarchical_state_machine" class="mw-redirect" title="Hierarchical state machine">Hierarchical</a></li>
<li><a href="Deterministic_finite_automaton" title="Deterministic finite automaton">Deterministic finite automaton</a></li>
<li><a href="Queue_automaton" title="Queue automaton">Queue automaton</a></li>
<li><a href="Cellular_automaton" title="Cellular automaton">Cellular automaton</a></li>
<li><a href="Quantum_cellular_automaton" title="Quantum cellular automaton">Quantum cellular automaton</a></li></ul></li>
<li><a href="Turing_machine" title="Turing machine">Turing machine</a>
<ul><li><a href="Alternating_Turing_machine" title="Alternating Turing machine">Alternating Turing machine</a></li>
<li><a href="Universal_Turing_machine" title="Universal Turing machine">Universal</a></li>
<li><a href="Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing</a></li>
<li><a href="Quantum_Turing_machine" title="Quantum Turing machine">Quantum</a></li>
<li><a href="Nondeterministic_Turing_machine" title="Nondeterministic Turing machine">Nondeterministic Turing machine</a></li>
<li><a href="Probabilistic_Turing_machine" title="Probabilistic Turing machine">Probabilistic Turing machine</a></li>
<li><a href="Hypercomputation" title="Hypercomputation">Hypercomputation</a></li>
<li><a href="Zeno_machine" title="Zeno machine">Zeno machine</a></li></ul></li>
<li><a href="History_of_general-purpose_CPUs#Belt_machine_architecture" title="History of general-purpose CPUs">Belt machine</a></li>
<li><a href="Stack_machine" title="Stack machine">Stack machine</a></li>
<li><a href="Register_machine" title="Register machine">Register machines</a>
<ul><li><a href="Counter_machine" title="Counter machine">Counter</a></li>
<li><a href="Pointer_machine" title="Pointer machine">Pointer</a></li>
<li><a href="Random-access_machine" title="Random-access machine">Random-access</a></li>
<li><a href="Random-access_stored-program_machine" title="Random-access stored-program machine">Random-access stored program</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_architecture" title="Computer architecture">Architecture</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microarchitecture" title="Microarchitecture">Microarchitecture</a></li>
<li><a href="Von_Neumann_architecture" title="Von Neumann architecture">Von Neumann</a></li>
<li><a href="Harvard_architecture" title="Harvard architecture">Harvard</a>
<ul><li><a href="Modified_Harvard_architecture" title="Modified Harvard architecture">modified</a></li></ul></li>
<li><a href="Dataflow_architecture" title="Dataflow architecture">Dataflow</a></li>
<li><a href="Transport_triggered_architecture" title="Transport triggered architecture">Transport-triggered</a></li>
<li><a href="Cellular_architecture" title="Cellular architecture">Cellular</a></li>
<li><a href="Endianness" title="Endianness">Endianness</a></li>
<li><a href="Computer_data_storage" title="Computer data storage">Memory access</a>
<ul><li><a href="Non-uniform_memory_access" title="Non-uniform memory access">NUMA</a></li>
<li><a href="Uniform_memory_access" title="Uniform memory access">HUMA</a></li>
<li><a href="Load%E2%80%93store_architecture" title="Load–store architecture">Load–store</a></li>
<li><a href="Register%E2%80%93memory_architecture" title="Register–memory architecture">Register/memory</a></li></ul></li>
<li><a href="Cache_hierarchy" title="Cache hierarchy">Cache hierarchy</a></li>
<li><a href="Memory_hierarchy" title="Memory hierarchy">Memory hierarchy</a>
<ul><li><a href="Virtual_memory" title="Virtual memory">Virtual memory</a></li>
<li><a href="Secondary_storage" class="mw-redirect" title="Secondary storage">Secondary storage</a></li></ul></li>
<li><a href="Heterogeneous_System_Architecture" title="Heterogeneous System Architecture">Heterogeneous</a></li>
<li><a href="Fabric_computing" title="Fabric computing">Fabric</a></li>
<li><a href="Multiprocessing" title="Multiprocessing">Multiprocessing</a></li>
<li><a href="Cognitive_computing" title="Cognitive computing">Cognitive</a></li>
<li><a href="Neuromorphic_engineering" class="mw-redirect" title="Neuromorphic engineering">Neuromorphic</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Instruction_set_architecture" title="Instruction set architecture">Instruction set<br>architectures</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Types</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Orthogonal_instruction_set" title="Orthogonal instruction set">Orthogonal instruction set</a></li>
<li><a href="Complex_instruction_set_computer" title="Complex instruction set computer">CISC</a></li>
<li><a href="Reduced_instruction_set_computer" title="Reduced instruction set computer">RISC</a></li>
<li><a href="Application-specific_instruction_set_processor" title="Application-specific instruction set processor">Application-specific</a></li>
<li><a href="Explicit_data_graph_execution" title="Explicit data graph execution">EDGE</a>
<ul><li><a href="TRIPS_architecture" title="TRIPS architecture">TRIPS</a></li></ul></li>
<li><a href="Very_long_instruction_word" title="Very long instruction word">VLIW</a>
<ul><li><a href="Explicitly_parallel_instruction_computing" title="Explicitly parallel instruction computing">EPIC</a></li></ul></li>
<li><a href="Minimal_instruction_set_computer" title="Minimal instruction set computer">MISC</a></li>
<li><a href="One-instruction_set_computer" title="One-instruction set computer">OISC</a></li>
<li><a href="No_instruction_set_computing" title="No instruction set computing">NISC</a></li>
<li><a href="Zero_instruction_set_computer" class="mw-redirect" title="Zero instruction set computer">ZISC</a></li>
<li><a href="VISC_architecture" title="VISC architecture">VISC architecture</a></li>
<li><a href="Quantum_computing" title="Quantum computing">Quantum computing</a></li>
<li><a href="Comparison_of_instruction_set_architectures" title="Comparison of instruction set architectures">Comparison</a>
<ul><li><a href="Addressing_mode" title="Addressing mode">Addressing modes</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Instruction<br>sets</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Motorola_68000_series" title="Motorola 68000 series">Motorola 68000 series</a></li>
<li><a href="VAX" title="VAX">VAX</a></li>
<li><a href="PDP-11_architecture" title="PDP-11 architecture">PDP-11</a></li>
<li><a href="X86" title="X86">x86</a></li>
<li><a href="ARM_architecture_family" title="ARM architecture family">ARM</a></li>
<li><a href="Stanford_MIPS" title="Stanford MIPS">Stanford MIPS</a></li>
<li><a href="MIPS_architecture" title="MIPS architecture">MIPS</a></li>
<li><a href="MIPS-X" title="MIPS-X">MIPS-X</a></li>
<li>Power
<ul><li><a href="IBM_POWER_architecture" title="IBM POWER architecture">POWER</a></li>
<li><a href="PowerPC" title="PowerPC">PowerPC</a></li>
<li><a href="Power_ISA" title="Power ISA">Power ISA</a></li></ul></li>
<li><a href="Clipper_architecture" title="Clipper architecture">Clipper architecture</a></li>
<li><a href="SPARC" title="SPARC">SPARC</a></li>
<li><a href="SuperH" title="SuperH">SuperH</a></li>
<li><a href="DEC_Alpha" title="DEC Alpha">DEC Alpha</a></li>
<li><a href="ETRAX_CRIS" title="ETRAX CRIS">ETRAX CRIS</a></li>
<li><a href="M32R" title="M32R">M32R</a></li>
<li><a href="Unicore" title="Unicore">Unicore</a></li>
<li><a href="IA-64" title="IA-64">Itanium</a></li>
<li><a href="OpenRISC" title="OpenRISC">OpenRISC</a></li>
<li><a href="RISC-V" title="RISC-V">RISC-V</a></li>
<li><a href="MicroBlaze" title="MicroBlaze">MicroBlaze</a></li>
<li><a href="Little_man_computer" class="mw-redirect" title="Little man computer">LMC</a></li>
<li>System/3x0
<ul><li><a href="IBM_System/360_architecture" title="IBM System/360 architecture">S/360</a></li>
<li><a href="IBM_System/370" title="IBM System/370">S/370</a></li>
<li><a href="IBM_System/390" title="IBM System/390">S/390</a></li>
<li><a href="Z/Architecture" title="Z/Architecture">z/Architecture</a></li></ul></li>
<li>Tilera ISA</li>
<li><a href="VISC_architecture" title="VISC architecture">VISC architecture</a></li>
<li><a href="Adapteva" class="mw-redirect" title="Adapteva">Epiphany architecture</a></li>
<li><a href="Comparison_of_instruction_set_architectures" title="Comparison of instruction set architectures">Others</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Instruction_cycle" title="Instruction cycle">Execution</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Instruction_pipelining" title="Instruction pipelining">Instruction pipelining</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Pipeline_stall" title="Pipeline stall">Pipeline stall</a></li>
<li><a href="Operand_forwarding" title="Operand forwarding">Operand forwarding</a></li>
<li><a href="Classic_RISC_pipeline" title="Classic RISC pipeline">Classic RISC pipeline</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Hazard_(computer_architecture)" title="Hazard (computer architecture)">Hazards</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Data_dependency" title="Data dependency">Data dependency</a></li>
<li><a href="Structural_hazard" class="mw-redirect" title="Structural hazard">Structural</a></li>
<li><a href="Control_hazard" class="mw-redirect" title="Control hazard">Control</a></li>
<li><a href="False_sharing" title="False sharing">False sharing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Out-of-order_execution" title="Out-of-order execution">Out-of-order</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Scoreboarding" title="Scoreboarding">Scoreboarding</a></li>
<li><a href="Tomasulo's_algorithm" title="Tomasulo's algorithm">Tomasulo's algorithm</a>
<ul><li><a href="Reservation_station" title="Reservation station">Reservation station</a></li>
<li><a href="Re-order_buffer" title="Re-order buffer">Re-order buffer</a></li></ul></li>
<li><a href="Register_renaming" title="Register renaming">Register renaming</a></li>
<li><a href="Wide-issue" title="Wide-issue">Wide-issue</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Speculative_execution" title="Speculative execution">Speculative</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Branch_predictor" title="Branch predictor">Branch prediction</a></li>
<li><a href="Memory_dependence_prediction" title="Memory dependence prediction">Memory dependence prediction</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Parallel_computing" title="Parallel computing">Parallelism</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Level</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bit-level_parallelism" title="Bit-level parallelism">Bit</a>
<ul><li><a href="Bit-serial_architecture" title="Bit-serial architecture">Bit-serial</a></li>
<li><a href="Word_(computer_architecture)" title="Word (computer architecture)">Word</a></li></ul></li>
<li><a href="Instruction-level_parallelism" title="Instruction-level parallelism">Instruction</a></li>
<li><a href="Instruction_pipelining" title="Instruction pipelining">Pipelining</a>
<ul><li><a href="Scalar_processor" title="Scalar processor">Scalar</a></li>
<li><a href="Superscalar_processor" title="Superscalar processor">Superscalar</a></li></ul></li>
<li><a href="Task_parallelism" title="Task parallelism">Task</a>
<ul><li><a href="Thread_(computing)" title="Thread (computing)">Thread</a></li>
<li><a href="Process_(computing)" title="Process (computing)">Process</a></li></ul></li>
<li><a href="Data_parallelism" title="Data parallelism">Data</a>
<ul><li><a href="Vector_processor" title="Vector processor">Vector</a></li></ul></li>
<li><a href="Memory-level_parallelism" title="Memory-level parallelism">Memory</a></li>
<li><a href="Distributed_architecture" class="mw-redirect" title="Distributed architecture">Distributed</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Multithreading_(computer_architecture)" title="Multithreading (computer architecture)">Multithreading</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Temporal_multithreading" title="Temporal multithreading">Temporal</a></li>
<li><a href="Simultaneous_multithreading" title="Simultaneous multithreading">Simultaneous</a>
<ul><li><a href="Hyper-threading" title="Hyper-threading">Hyperthreading</a></li>
<li><a href="Simultaneous_and_heterogeneous_multithreading" title="Simultaneous and heterogeneous multithreading">Simultaneous and heterogenous</a></li></ul></li>
<li><a href="Speculative_multithreading" title="Speculative multithreading">Speculative</a></li>
<li><a href="Preemption_(computing)" title="Preemption (computing)">Preemptive</a></li>
<li><a href="Cooperative_multitasking" title="Cooperative multitasking">Cooperative</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Flynn's_taxonomy" title="Flynn's taxonomy">Flynn's taxonomy</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Single_instruction%2C_single_data" title="Single instruction, single data">SISD</a></li>
<li><a href="Single_instruction%2C_multiple_data" title="Single instruction, multiple data">SIMD</a>
<ul><li><a href="Single_instruction%2C_multiple_threads" title="Single instruction, multiple threads">Array processing (SIMT)</a></li>
<li><a href="Flynn's_taxonomy#Pipelined_processor" title="Flynn's taxonomy">Pipelined processing</a></li>
<li><a href="Flynn's_taxonomy#Associative_processor" title="Flynn's taxonomy">Associative processing</a></li>
<li><a href="SWAR" title="SWAR">SWAR</a></li></ul></li>
<li><a href="Multiple_instruction%2C_single_data" title="Multiple instruction, single data">MISD</a></li>
<li><a href="Multiple_instruction%2C_multiple_data" title="Multiple instruction, multiple data">MIMD</a>
<ul><li><a href="Single_program%2C_multiple_data" title="Single program, multiple data">SPMD</a></li></ul></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_performance" title="Computer performance">Processor<br>performance</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Transistor_count" title="Transistor count">Transistor count</a></li>
<li><a href="Instructions_per_cycle" title="Instructions per cycle">Instructions per cycle</a> (IPC)
<ul><li><a href="Cycles_per_instruction" title="Cycles per instruction">Cycles per instruction</a> (CPI)</li></ul></li>
<li><a href="Instructions_per_second" title="Instructions per second">Instructions per second</a> (IPS)</li>
<li><a href="FLOPS" class="mw-redirect" title="FLOPS">Floating-point operations per second</a> (FLOPS)</li>
<li><a href="Transactions_per_second" title="Transactions per second">Transactions per second</a> (TPS)</li>
<li><a href="SUPS" title="SUPS">Synaptic updates per second</a> (SUPS)</li>
<li><a href="Performance_per_watt" title="Performance per watt">Performance per watt</a> (PPW)</li>
<li><a href="Cache_performance_measurement_and_metric" title="Cache performance measurement and metric">Cache performance metrics</a></li>
<li><a href="Computer_performance_by_orders_of_magnitude" title="Computer performance by orders of magnitude">Computer performance by orders of magnitude</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Processor_(computing)" title="Processor (computing)">Types</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Central_processing_unit" title="Central processing unit">Central processing unit</a> (CPU)</li>
<li><a href="Graphics_processing_unit" title="Graphics processing unit">Graphics processing unit</a> (GPU)
<ul><li><a href="General-purpose_computing_on_graphics_processing_units" title="General-purpose computing on graphics processing units">GPGPU</a></li></ul></li>
<li><a href="Vector_processor" title="Vector processor">Vector</a></li>
<li><a href="Barrel_processor" title="Barrel processor">Barrel</a></li>
<li><a href="Stream_processing" title="Stream processing">Stream</a></li>
<li><a href="Tile_processor" title="Tile processor">Tile processor</a></li>
<li><a href="Coprocessor" title="Coprocessor">Coprocessor</a></li>
<li><a href="Programmable_Array_Logic" title="Programmable Array Logic">PAL</a></li>
<li><a href="Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASIC</a></li>
<li><a href="Field-programmable_gate_array" title="Field-programmable gate array">FPGA</a></li>
<li><a href="Field-programmable_object_array" title="Field-programmable object array">FPOA</a></li>
<li><a href="Complex_programmable_logic_device" title="Complex programmable logic device">CPLD</a></li>
<li><a href="Multi-chip_module" title="Multi-chip module">Multi-chip module</a> (MCM)</li>
<li><a href="System_in_a_package" title="System in a package">System in a package</a> (SiP)</li>
<li><a href="Package_on_a_package" title="Package on a package">Package on a package</a> (PoP)</li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">By application</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Embedded_system" title="Embedded system">Embedded system</a></li>
<li><a href="Microprocessor" title="Microprocessor">Microprocessor</a></li>
<li><a href="Microcontroller" title="Microcontroller">Microcontroller</a></li>
<li><a href="Mobile_processor" title="Mobile processor">Mobile</a></li>
<li><a href="Ultra-low-voltage_processor" title="Ultra-low-voltage processor">Ultra-low-voltage</a></li>
<li><a href="Application-specific_instruction_set_processor" title="Application-specific instruction set processor">ASIP</a></li>
<li><a href="Soft_microprocessor" title="Soft microprocessor">Soft microprocessor</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Systems<br>on chip</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="System_on_a_chip" title="System on a chip">System on a chip</a> (SoC)</li>
<li><a href="Multiprocessor_system_on_a_chip" class="mw-redirect" title="Multiprocessor system on a chip">Multiprocessor</a> (MPSoC)</li>
<li><a href="Cypress_PSoC" title="Cypress PSoC">Cypress PSoC</a></li>
<li><a href="Network_on_a_chip" title="Network on a chip">Network on a chip</a> (NoC)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Hardware_acceleration" title="Hardware acceleration">Hardware<br>accelerators</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Coprocessor" title="Coprocessor">Coprocessor</a></li>
<li><a href="AI_accelerator" class="mw-redirect" title="AI accelerator">AI accelerator</a></li>
<li><a href="Graphics_processing_unit" title="Graphics processing unit">Graphics processing unit</a> (GPU)</li>
<li><a href="Image_processor" title="Image processor">Image processor</a></li>
<li><a href="Vision_processing_unit" title="Vision processing unit">Vision processing unit</a> (VPU)</li>
<li><a href="Physics_processing_unit" title="Physics processing unit">Physics processing unit</a> (PPU)</li>
<li><a href="Digital_signal_processor" title="Digital signal processor">Digital signal processor</a> (DSP)</li>
<li><a href="Tensor_Processing_Unit" title="Tensor Processing Unit">Tensor Processing Unit</a> (TPU)</li>
<li><a href="Secure_cryptoprocessor" title="Secure cryptoprocessor">Secure cryptoprocessor</a></li>
<li><a href="Network_processor" title="Network processor">Network processor</a></li>
<li><a href="Baseband_processor" title="Baseband processor">Baseband processor</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Word_(computer_architecture)" title="Word (computer architecture)">Word size</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="1-bit_computing" title="1-bit computing">1-bit</a></li>
<li><a href="4-bit_computing" title="4-bit computing">4-bit</a></li>
<li><a href="8-bit_computing" title="8-bit computing">8-bit</a></li>
<li><a href="12-bit_computing" title="12-bit computing">12-bit</a></li>
<li><a href="Apollo_Guidance_Computer" title="Apollo Guidance Computer">15-bit</a></li>
<li><a href="16-bit_computing" title="16-bit computing">16-bit</a></li>
<li><a href="24-bit_computing" title="24-bit computing">24-bit</a></li>
<li><a href="32-bit_computing" title="32-bit computing">32-bit</a></li>
<li><a href="48-bit_computing" title="48-bit computing">48-bit</a></li>
<li><a href="64-bit_computing" title="64-bit computing">64-bit</a></li>
<li><a href="128-bit_computing" title="128-bit computing">128-bit</a></li>
<li><a href="256-bit_computing" title="256-bit computing">256-bit</a></li>
<li><a href="512-bit_computing" title="512-bit computing">512-bit</a></li>
<li><a href="Bit_slicing" title="Bit slicing">bit slicing</a></li>
<li><a href="Word_(computer_architecture)#Table_of_word_sizes" title="Word (computer architecture)">others</a>
<ul><li><a href="Word_(computer_architecture)#Variable-word_architectures" title="Word (computer architecture)">variable</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Core count</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Single-core" title="Single-core">Single-core</a></li>
<li><a href="Multi-core_processor" title="Multi-core processor">Multi-core</a></li>
<li><a href="Manycore_processor" title="Manycore processor">Manycore</a></li>
<li><a href="Heterogeneous_computing" title="Heterogeneous computing">Heterogeneous architecture</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Central_processing_unit" title="Central processing unit">Core</a></li>
<li><a href="Cache_(computing)" title="Cache (computing)">Cache</a>
<ul><li><a href="CPU_cache" title="CPU cache">CPU cache</a></li>
<li><a href="Scratchpad_memory" title="Scratchpad memory">Scratchpad memory</a></li>
<li><a href="Data_cache" class="mw-redirect" title="Data cache">Data cache</a></li>
<li><a href="Instruction_cache" class="mw-redirect" title="Instruction cache">Instruction cache</a></li>
<li><a href="Cache_replacement_policies" title="Cache replacement policies">replacement policies</a></li>
<li><a href="Cache_coherence" title="Cache coherence">coherence</a></li></ul></li>
<li><a href="Bus_(computing)" title="Bus (computing)">Bus</a></li>
<li><a href="Clock_rate" title="Clock rate">Clock rate</a></li>
<li><a href="Clock_signal" title="Clock signal">Clock signal</a></li>
<li><a href="FIFO_(computing_and_electronics)" title="FIFO (computing and electronics)">FIFO</a></li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Execution_unit" title="Execution unit">Functional<br>units</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Arithmetic_logic_unit" title="Arithmetic logic unit">Arithmetic logic unit</a> (ALU)</li>
<li><a href="Address_generation_unit" title="Address generation unit">Address generation unit</a> (AGU)</li>
<li><a href="Floating-point_unit" title="Floating-point unit">Floating-point unit</a> (FPU)</li>
<li><a href="Memory_management_unit" title="Memory management unit">Memory management unit</a> (MMU)
<ul><li><a href="Load%E2%80%93store_unit" title="Load–store unit">Load–store unit</a></li>
<li><a href="Translation_lookaside_buffer" title="Translation lookaside buffer">Translation lookaside buffer</a> (TLB)</li></ul></li>
<li><a href="Branch_predictor" title="Branch predictor">Branch predictor</a></li>
<li><a href="Branch_target_predictor" title="Branch target predictor">Branch target predictor</a></li>
<li><a href="Memory_controller" title="Memory controller">Integrated memory controller</a> (IMC)
<ul><li><a href="Memory_management_unit" title="Memory management unit">Memory management unit</a></li></ul></li>
<li><a href="Instruction_decoder" class="mw-redirect" title="Instruction decoder">Instruction decoder</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Logic_gate" title="Logic gate">Logic</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Combinational_logic" title="Combinational logic">Combinational</a></li>
<li><a href="Sequential_logic" title="Sequential logic">Sequential</a></li>
<li><a href="Glue_logic" title="Glue logic">Glue</a></li>
<li><a href="Logic_gate" title="Logic gate">Logic gate</a>
<ul><li><a href="Quantum_logic_gate" title="Quantum logic gate">Quantum</a></li>
<li><a href="Gate_array" title="Gate array">Array</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Hardware_register" title="Hardware register">Registers</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Processor_register" title="Processor register">Processor register</a></li>
<li><a href="Status_register" title="Status register">Status register</a></li>
<li><a href="Stack_register" title="Stack register">Stack register</a></li>
<li><a href="Register_file" title="Register file">Register file</a></li>
<li><a href="Memory_buffer_register" title="Memory buffer register">Memory buffer</a></li>
<li><a href="Memory_address_register" title="Memory address register">Memory address register</a></li>
<li><a href="Program_counter" title="Program counter">Program counter</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Control_unit" title="Control unit">Control unit</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hardwired_control_unit" class="mw-redirect" title="Hardwired control unit">Hardwired control unit</a></li>
<li><a href="Instruction_unit" title="Instruction unit">Instruction unit</a></li>
<li><a href="Data_buffer" title="Data buffer">Data buffer</a></li>
<li><a href="Write_buffer" title="Write buffer">Write buffer</a></li>
<li><a href="Microcode" title="Microcode">Microcode</a> <a href="ROM_image" title="ROM image">ROM</a></li>
<li><a href="Counter_(digital)" title="Counter (digital)">Counter</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Datapath" title="Datapath">Datapath</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Multiplexer" title="Multiplexer">Multiplexer</a></li>
<li><a href="Demultiplexer" class="mw-redirect" title="Demultiplexer">Demultiplexer</a></li>
<li><a href="Adder_(electronics)" title="Adder (electronics)">Adder</a></li>
<li><a href="Binary_multiplier" title="Binary multiplier">Multiplier</a>
<ul><li><a href="CPU_multiplier" title="CPU multiplier">CPU</a></li></ul></li>
<li><a href="Binary_decoder" title="Binary decoder">Binary decoder</a>
<ul><li><a href="Address_decoder" title="Address decoder">Address decoder</a></li>
<li><a href="Sum-addressed_decoder" title="Sum-addressed decoder">Sum-addressed decoder</a></li></ul></li>
<li><a href="Barrel_shifter" title="Barrel shifter">Barrel shifter</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Electronic_circuit" title="Electronic circuit">Circuitry</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Integrated_circuit" title="Integrated circuit">Integrated circuit</a>
<ul><li><a href="Three-dimensional_integrated_circuit" title="Three-dimensional integrated circuit">3D</a></li>
<li><a href="Mixed-signal_integrated_circuit" title="Mixed-signal integrated circuit">Mixed-signal</a></li>
<li><a href="Power_management_integrated_circuit" title="Power management integrated circuit">Power management</a></li></ul></li>
<li><a href="Boolean_circuit" title="Boolean circuit">Boolean</a></li>
<li><a href="Circuit_(computer_science)" title="Circuit (computer science)">Digital</a></li>
<li><a href="Analogue_electronics" title="Analogue electronics">Analog</a></li>
<li><a href="Quantum_circuit" title="Quantum circuit">Quantum</a></li>
<li><a href="Switch#Electronic_switches" title="Switch">Switch</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Power_management" title="Power management">Power<br>management</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Power_Management_Unit" title="Power Management Unit">PMU</a></li>
<li><a href="Advanced_Power_Management" title="Advanced Power Management">APM</a></li>
<li><a href="ACPI" title="ACPI">ACPI</a></li>
<li><a href="Dynamic_frequency_scaling" title="Dynamic frequency scaling">Dynamic frequency scaling</a></li>
<li><a href="Dynamic_voltage_scaling" title="Dynamic voltage scaling">Dynamic voltage scaling</a></li>
<li><a href="Clock_gating" title="Clock gating">Clock gating</a></li>
<li><a href="Performance_per_watt" title="Performance per watt">Performance per watt</a> (PPW)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="History_of_general-purpose_CPUs" title="History of general-purpose CPUs">History of general-purpose CPUs</a></li>
<li><a href="Microprocessor_chronology" title="Microprocessor chronology">Microprocessor chronology</a></li>
<li><a href="Processor_design" title="Processor design">Processor design</a></li>
<li><a href="Digital_electronics" title="Digital electronics">Digital electronics</a></li>
<li><a href="Hardware_security_module" title="Hardware security module">Hardware security module</a></li>
<li><a href="Semiconductor_device_fabrication" title="Semiconductor device fabrication">Semiconductor device fabrication</a></li>
<li><a href="Tick%E2%80%93tock_model" title="Tick–tock model">Tick–tock model</a></li>
<li><a href="Pin_grid_array" title="Pin grid array">Pin grid array</a></li>
<li><a href="Chip_carrier" title="Chip carrier">Chip carrier</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-02-28" href="https://en.wikipedia.org/wiki/?title=Redundant_binary_representation&amp;oldid=1278160272">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>